/**
 * 
 */
package com.swim.shop.service;

import java.util.List;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.jeesite.common.entity.Page;
import com.jeesite.common.service.CrudService;
import com.jeesite.modules.sys.utils.UserUtils;
import com.swim.shop.entity.ProductOrder;
import com.swim.common.utils.RandomGenerator;
import com.swim.shop.dao.ProductOrderDao;

/**
 * 产品订单Service
 * @author ljw
 * @version 2023-05-24
 */
@Service
@Transactional(readOnly=true)
public class ProductOrderService extends CrudService<ProductOrderDao, ProductOrder> {
	
	/**
	 * 获取单条数据
	 * @param productOrder
	 * @return
	 */
	@Override
	public ProductOrder get(ProductOrder productOrder) {
		return super.get(productOrder);
	}
	
	/**
	 * 查询分页数据
	 * @param page 分页对象
	 * @param productOrder
	 * @return
	 */
	@Override
	public Page<ProductOrder> findPage(Page<ProductOrder> page, ProductOrder productOrder) {
		return super.findPage(page, productOrder);
	}
	
	/**
	 * 保存数据（插入或更新）
	 * @param productOrder
	 */
	@Override
	@Transactional(readOnly=false)
	public void save(ProductOrder productOrder) {
		super.save(productOrder);
	}
	
	/**
	 * 保存数据（插入或更新）
	 * @param productOrder
	 */
	@Transactional(readOnly=false)
	public ProductOrder saveAuto(ProductOrder productOrder) {
		//设置自动生成字段
		productOrder.setOrderNum(RandomGenerator.get8randomNumber());		// 订单号
		productOrder.setSysUserId(UserUtils.getUser().getUserCode());		// 付款人id
		productOrder.setPayerPhone(UserUtils.getUser().getLoginCode());		// 付款人手机号
		productOrder.setOrderStatus(1L);		// 订单状态 1表示未付款 2表示已付款 3表示已关闭
		super.save(productOrder);
		return productOrder;
	}
	
	/**
	 * 更新状态
	 * @param productOrder
	 */
	@Override
	@Transactional(readOnly=false)
	public void updateStatus(ProductOrder productOrder) {
		super.updateStatus(productOrder);
	}
	
	/**
	 * 删除数据
	 * @param productOrder
	 */
	@Override
	@Transactional(readOnly=false)
	public void delete(ProductOrder productOrder) {
		super.delete(productOrder);
	}
	
}